package Mementos;

import editeur.EditeurPlus;
import IHM.IHM;
import JSON.JSONException;
import JSON.JSONObject;
import Memento.Memento;

public class memfindup implements Memento {
	String text;
	private EditeurPlus edit;
	private IHM ihm;
	int deb;
	int fin;
	boolean sel_active;
	public memfindup(EditeurPlus ed, IHM i, String m) {
		ihm=i;edit=ed;text=m;
	}

	public String MementoToString() {
		return MementoString.prefix+"cherche[<-]("+text+")"+MementoString.suffix;
	}
	public void execute() {
		ihm.debog("Cherche: "+text);
		deb=ihm.getcurseur_pos(); 
		if (edit.selection_active()){
			deb=edit.get_selection_deb();
			fin=edit.get_selection_fin();
			sel_active=true;
		}
		if (edit.trouver_en_arriere(text, deb)) ihm.debog("Trouve");
		
		ihm.color_selection(edit.get_selection_deb(),edit.get_selection_fin());

	}

	public void unexecute() {
		if (sel_active){
			edit.selectionner(deb, fin);
			ihm.color_selection(deb,fin);
			
		}
		else ihm.setcurseur_pos(deb);

	}
	public JSONObject JSONize() throws JSONException {
		JSONObject json=new JSONObject();
		json.put("commande",MementoString.FINDUP);
		json.put("valeur",text);
		return json;
	}

}
